#pragma once

#include <QtWidgets/QMainWindow>
#include "ui_CogsEngine.h"

#include <memory>

#include "DockManager.h"

#include "windows/ViewWindow.h"
#include "windows/PropertyWindow.h"

#include "render/RendererAPI.h"

namespace Cogs {
    class CogsEngine : public QMainWindow
    {
        Q_OBJECT

    public:
        CogsEngine(QWidget* parent = nullptr);
        ~CogsEngine();
    protected:
        void closeEvent(QCloseEvent* event) override;
    private:
        void RestoreDockLayout();
    private:
        Ui::CogsEngineClass ui;
    private:
        ads::CDockManager* m_DockManager;
    private:
        ViewWindow* m_ViewWindow = nullptr;
        PropertyWindow* m_ProPerWindow = nullptr;
    };
}


